Use case: SPI transmit/receive in interrupt mode ¶
Sequence diagram ¶
Code snippet ¶
|
HAL1 |
HAL2 |
|---|---|
#define DATA_TO_SEND 256
#define DATA_TO_RECEIVE DATA_TO_SEND
SPI_HandleTypeDef hspi1;
uint8_t aTxBuffer[] = "*** SPI communication based on IT mode***"
uint8_t aRxBuffer[DATA_TO_RECEIVE]
HAL_SPI_RegisterCallback(&hspi1, HAL_SPI_TX_RX_COMPLETE_CB_ID, USER_SPI_TxRxCpltCallback);
HAL_SPI_TransmitReceive_IT(&hspi1, pTxData, &RxBuffer, DATA_TO_SEND);
|
#define DATA_TO_SEND 256
#define DATA_TO_RECEIVE DATA_TO_SEND
hal_spi_handle_t hspi1;
uint8_t aTxBuffer[] = "*** SPI communication based on IT mode***"
uint8_t aRxBuffer[DATA_TO_RECEIVE]
HAL_SPI_RegisterTxRxCpltCallback(&hspi1, USER_SPI_TxRxCpltCallback);
HAL_SPI_TransmitReceive_IT(&hspi1, aTxBuffer, aRxBuffer, DATA_TO_RECEIVE);
|
Key changes ¶
TX/RX complete callback registration changes from
HAL_SPI_RegisterCallback(..., HAL_SPI_TX_RX_COMPLETE_CB_ID, ...)toHAL_SPI_RegisterTxRxCpltCallback().HAL2 uses
hal_spi_handle_tinstead ofSPI_HandleTypeDef.

